A data processing system may include several different types of memory. For example, a system may include relatively small amounts of high speed, high cost memory and larger amounts of slower, cheaper memory. These memories might be implemented using different technologies. During operation of a data processing system, data may be moved between the different types of memory to improve performance of the system.
Management of data movement between the different types of memory may be performed using user software, an operating system (OS), hardware, or a combination thereof.